﻿'
' Boogaloo® - http://www.mindfly.com
' Copyright (c) 2008
' by Mindfly, Inc.
'
' Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated 
' documentation files (the "Software"), to deal in the Software without restriction, including without limitation 
' the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and 
' to permit persons to whom the Software is furnished to do so, subject to the following conditions:
'
' The above copyright notice and this permission notice shall be included in all copies or substantial portions 
' of the Software.
'
' THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
' INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
' DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
' SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
' SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
' WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
' THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


Imports Boogaloo.Core.UI
Imports Boogaloo.Core.BLL

Namespace UI.UserControls


    Partial Public Class Admin_IconNavigation
        Inherits AdminNavControlBase


        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

            ' setup the main "icon" link
            li_publish.Visible = False
            If Groove.admin_root.HasNodeCreationRequirements() And Not Groove.admin_root.HasLayoutNodes() Then
                hyp_sitemap_opener.NavigateUrl = String.Format("{0}Layouts.aspx", Groove.path_admin_host)

            ElseIf Not Groove.admin_root.HasNodeCreationRequirements() Then
                li_sitemap.Visible = False
            Else
                li_sitemap.Attributes.Add("title", String.Format("Go to {0}'s sitemap", Groove.admin_root.name))
                If Groove.admin_root.default_node IsNot Nothing Then
                    hyp_sitemap_opener.NavigateUrl = GetGoToNodeUrl(Groove.admin_root.default_node_id)

                    If Groove.admin_root.HasNodesManagedByPublish Then
                        li_publish.Visible = True
                        hyp_publish.NavigateUrl = String.Format("{0}Publisher.aspx", Groove.path_admin_site)
                    End If

                Else
                    hyp_sitemap_opener.NavigateUrl = String.Format("{0}Designer.aspx", Groove.path_admin_site)
                End If

            End If

            If Groove.extensions.Count > 0 Then
                li_extensions.Visible = True
                rpt.DataSource = Groove.extensions
                rpt.DataBind()
            Else
                li_extensions.Visible = False
            End If

            hyp_dashboard.NavigateUrl = Groove.path_admin
            hyp_membership.NavigateUrl = String.Format("{0}Users.aspx", Groove.path_admin_membership)

        End Sub


        Protected Sub rpt_ItemDataBound(ByVal sender As Object, ByVal e As RepeaterItemEventArgs) Handles rpt.ItemDataBound

            Dim c As Component = CType(e.Item.DataItem, Component)
            If c IsNot Nothing Then

                Dim hyp As HyperLink = CType(e.Item.FindControl("hyp"), HyperLink)
                If Not String.IsNullOrEmpty(c.menu_text) Then
                    hyp.Text = c.menu_text
                Else
                    hyp.Text = c.name
                End If
                If Not String.IsNullOrEmpty(c.admin_virtual_path) Then
                    hyp.NavigateUrl = c.admin_virtual_path
                Else
                    hyp.NavigateUrl = Groove.path_admin
                End If


            End If

        End Sub

    End Class


End Namespace